#ifndef __HDR_IMAGE_OBJECT_HPP__
#define __HDR_IMAGE_OBJECT_HPP__

#include "ReferenceCounter.hpp"
#include "FreeImage.h"
#include <string>

typedef enum eToneMappingAlgorithms
{
	FATTAL_2002,
	DRAGO_2003,
	REINHARD_2005,

} TMO_ALGORITHM;

class HDRImageObject : public ReferenceCounter
{
public:
	HDRImageObject(std::string fileName);
	~HDRImageObject();

	const FIBITMAP* getHDRIBitmap() const;
	const FIBITMAP* getToneMappedBitmap(TMO_ALGORITHM eAlgorithm = FATTAL_2002) const;

private:
	FIBITMAP* m_pHDRIBitmap;
};

#endif //__HDR_IMAGE_OBJECT_HPP__

//EOF
